\mychapter{Revisão Bibliográfica}
\label{cap:rev}


Um índice de desempenho pode ser caracterizado como uma medida quantitativa do desempenho de um sistema, sendo escolhido de acordo com suas especificações. Um sistema de controle é considerado ótimo quando seus parâmetros são ajustados de modo a minimizar ou maximizar os índices em questão.

Em um processo real, é comum a presença de atenuações e ruídos que levam as variáveis do processo a valores indesejáveis e inesperados. Este é a causa de pequenas variações nos valores dos índices quando calculamos em momentos diferentes, mesmo o processo estando exatamente com os mesmos parâmetros. Estas atenuações e ruídos devem ser considerados quando vamos especificar a tolerância entre os índices recém calculados e os índices da avaliação piloto discutidos no capítulo \ref{cap:introducao}.


% ------------------------------------------------------------------------------
\section{Índices de Desempenho Baseados no Erro}

A seguir apresentamos os índices baseados no erro. Estes índices são bastante intuitivos porém requerem uma grande precisão de medições e, considerando que são geralmente uma integral infinita no tempo, é necessário calculá-los por longos períodos para que seus resultados sejam significativos.

O erro $e(t)$ é definido como:
\begin{equation}
e(t) = r(t) - y(t)
\end{equation}

aonde $r(t)$ e $y(t)$ é a referência(SP) e a saída do sistema(PV) respectivamente no instante $t$.


\Glossary{IAE}{\it{Integrated Absolute Error}}

\subsection{Formulação Matemática}

A escolha mais natural para quantificar o erro decorrente de uma perturbação no sistema é calcularmos sua integral no tempo. Este índice é denominado integral do erro - \textit{integrated error} - IE e é definido como:


\begin{equation}
IE = \int_{0}^{\infty}{e(t)}dt
\end{equation}

\Glossary{IAE}{\it{Integrated Error}}

Porém para processos oscilatórios ou para processos oscilatórios pouco amortecidos este índice não é o mais indicado pois o erro varia entre valores positivos e negativos podendo anular-se. Para resolver este problema foi definido um outro índice chamado de Integral Absoluta do Erro - \textit{integrated Absolute Error} - IAE:


\begin{equation}
IAE = \int_{0}^{\infty}{|e(t)|}dt
\end{equation}


Um uso interessante so IAE é o proposto por \cite{hagg}. A idéia é monitorar a magnitude do IAE entre duas intersecções da abscissa zero no erro do controlador:

\begin{equation}
IAE = \int_{t_{i - 1}}^{t_i}{|e(t)|}dt
\end{equation}

aonde $t_{i-i}$ e $t_i$ são duas instâncias sucessivas onde o erro do controlador cruza o zero. Este procedimento assume que o controlador tem ação integral, de modo que a média do erro é zero. Hägglund sugere que, se o controlador for proporcional, um valor médio do sinal de medida possa ser obtido através de um filtro. O valor de IAE é zerado a cada vez que o erro intercepta a abscissa. Durante controle adequado, o valor de IAE se torna pequeno, pois os tempo entre as intersecções se torna curto. Se um distúrbio na carga ocorre, o valor de IAE se torna grande e a diferença $t_{i-1} - t_{i}$ também é grande. Quando a integral do erro ultrapassa um certo limite pré-estabelecido, $IAE_{LIM}$, o procedimento considera que um distúrbio na carga foi detectado. Observando a taxa em que distúrbios na carga são detectados, pode-se concluir que não são distúrbios normais de operação, e sim problemas de oscilação. Então a malha é considerada oscilatória naquele período de supervisão $T_{sup}$ \cite{kempf}. 



\Glossary{ISE}{\it{Integrated square error}}

A integral do erro quadrático ou ISE - \textit{Integrated square error} - é um índice que tem como característica quantificar em maior escala os erros iniciais que possam ocorrer em sistemas oscilatórios, sendo mais indicado para malhas com características menos oscilatórias

\begin{equation}
ISE = \int_{0}^{\infty}{e(t)^2}dt
\end{equation}

\Glossary{ITAE}{\it{Integrated of the time Multiplied by Absolute Error}}
\Glossary{ITSE}{\it{Integrated of the Time Multiplied by Square Error}}

Para minimizar o problema de quantificação dos erros iniciais em malhas oscilatórias, definimos critérios que ponderam os erros iniciais como a integral do
tempo multiplicado pelo erro absoluto - \textit{Integrated of the time multiplied by absolute error} - ITAE ou a integral do tempo multiplicado pelo erro quadrático - \textit{Integrated of the time multiplied by square error} - ITSE , cujas equações se encontram abaixo:


\begin{equation}
ITAE = \int_{0}^{\infty}{t|e(t)|}dt
\end{equation}

\begin{equation}
ITSE = \int_{0}^{\infty}{te(t)^2}dt
\end{equation}


Dentre os índices baseado nos erros descritos acima, o que apresenta maior seletividade é ITAE, pois o valor mínimo da integral é prontamente verificável ao
serem variados os parâmetros do sistema\cite{marlon}.

\begin{table}[htb]
	\centering
	\begin{tabular}{|c|c|}
		\hline
		\textbf{Índice de Desempenho} & \textbf{Modelo Discreto}\\
		\hline
		\hline
		\multirow{2}{*}{IAE} & \multirow{2}{*}{$\sum_{k=1}^{n}{|e(k)|}$} \\
		&\\
		\hline
		\multirow{2}{*}{IE} & \multirow{2}{*}{$\sum_{k=1}^{n}{e(k)}$} \\
		&\\
		\hline
		\multirow{2}{*}{ISE} & \multirow{2}{*}{$\sum_{k=1}^{n}{e(k)^2}$} \\
		&\\
		\hline
		\multirow{2}{*}{ITAE} & \multirow{2}{*}{$\sum_{k=1}^{n}{kT|e(k)|}$} \\
		&\\
		\hline
		\multirow{2}{*}{ITSE} & \multirow{2}{*}{$\sum_{k=1}^{n}{kTe(k)^2}$} \\
		&\\
		\hline
	\end{tabular}
	\caption{Modelo Computacional dos Índices de desempenho, onde T é o tempo de amostragem}
	\label{tab:indisc}
\end{table}

\subsection{Exemplo de Aplicação}
\label{sec:appIE}

Para exemplificar o uso destes índices de desempenho vamos aplicá-los em uma planta de segunda ordem. Considere a seguinte função de transferência:

\begin{equation}
	H(s) = \frac{1}{s^2}
\end{equation}
A seguir mostramos os gráficos da resposta da planta junto com a evolução do ITAE em diferentes ocasiões. Primeiramente em malha fechada com ganho unitário(sistema marginalmente estável), e nos outros casos com 2 sintonias diferentes de um controlador PID.


\begin{figure}[H]
\begin{minipage}{5.8cm}
\begin{tabular}{c}
\includegraphics[height=4.8cm]{imgs/rev/resp_malha_aberta} \\
(a)
\end{tabular}
\end{minipage}
%\hfill
\begin{minipage}{4.8cm}
\begin{tabular}{c}
\includegraphics[height=4.8cm]{imgs/rev/itae_malha_aberta}\\
(b)
\end{tabular}
\end{minipage}
\caption{Reposta do Sistema em fechada com ganho unitário e o ITAE}
\end{figure}


\begin{figure}[H]
\begin{minipage}{5.8cm}
\begin{tabular}{c}
\includegraphics[height=4.8cm]{imgs/rev/resposta_pid1} \\
(a)
\end{tabular}
\end{minipage}
%\hfill
\begin{minipage}{4.8cm}
\begin{tabular}{c}
\includegraphics[height=4.8cm]{imgs/rev/itae_pid1}\\
(b)
\end{tabular}
\end{minipage}
\caption{Reposta do Sistema realimentado com PID 1 e o ITAE}
\label{fig:pid1}
\end{figure}


\begin{figure}[H]
\begin{minipage}{5.8cm}
\begin{tabular}{c}
\includegraphics[height=4.8cm]{imgs/rev/resposta_pid2} \\
(a)
\end{tabular}
\end{minipage}
%\hfill
\begin{minipage}{4.8cm}
\begin{tabular}{c}
\includegraphics[height=4.8cm]{imgs/rev/itae_pid2}\\
(b)
\end{tabular}
\end{minipage}
\caption{Reposta do Sistema realimentado com PID 2 e o ITAE}
\label{fig:pid2}
\end{figure}

\begin{table}[htb]
	\centering
	\begin{tabular}{|c|c|c|c|}
		\hline
		&\textbf{Ganho unitário} & \textbf{PID 1} & \textbf{PID 2}\\
		\hline
		\textbf{IAE} & 5.0548 & 1.7654 & 0.5678\\
		\hline
		\textbf{IE} & 0.9894 & 1.7017 & 0.3\\
		\hline
		\textbf{ISE}& 3.9772  & 1.1783 & 0.3525\\
		\hline
		\textbf{ITAE}& 19.797 & 2.1363 & 0.2959\\
		\hline
		\textbf{ITSE}& 15.3710 & 0.9352 & 0.0853\\
		\hline


	\end{tabular}
	\caption{Índices baseados no erro calculados para a Planta}
	\label{tab:indic_exp}
\end{table}


\section{Índices de Desempenho baseados na média e variância}

Ao analisar os resultados apresentados na tabela \ref{tab:indic_exp}, poderíamos pensar que incontestavelmente a sintonia do segundo PID seria melhor que a do primeiro para esta planta. Isto nem sempre é verdade,é importante notarmos que estes índices são bastante úteis para avaliar o erro da malha, porém, não expressa o comportamento geral da planta nem leva em conta, por exemplo, os esforços aos quais são submetidos os atuadores. Nesta sessão apresentaremos alguns índices que podem dar idéia destes fatores.

\subsection{Formulação Matemática}
A média e a variância dos sinais presentes no processo podem fornecer algumas características importantes. A variância de uma variável aleatória é uma medida da sua dispersão estatística, indicando quão longe em geral os seus valores se encontram do valor esperado(médio). Um método comum de estimar a variância da população é através da tomada de suas amostras. Quando estimando a variância da população usando n amostras aleatórias $x_{i}$ onde i = 1, 2, ..., n, a fórmula seguinte é um estimador $s\alpha_{X(t)}^2$ não enviesado:

\begin{equation}
s\alpha_{X(t)}^2 = \frac{1}{n-1}\sum_{k=1}^{n}[X(k)- \hat{X}]^2
\end{equation}

onde:

\begin{equation}
\hat{X} = \frac{1}{n}\sum_{k=1}^{n}X(k)
\end{equation}

A seguir vamos introduzir alguns índices e analisar o que eles podem nos informar sobre o comportamento da planta:

\begin{enumerate}
\item  A média da saída do sistema em relação ao valor de referência nos da noção da rastreabilidade e indica possíveis características oscilatórias da planta. Definimos como média da saída(ou PV) de um sistema como:

	\begin{equation}
		\hat{y} = \frac{1}{N}\sum_{k=1}^{N}y(k)
	\end{equation} 
	ou a relação percentual ao valor de referência:

	\begin{equation}
		\hat{y}\% = \frac{sp-\hat{y}}{sp}
	\end{equation}

\item A média do sinal de controle(MV) da saída de um controlador indica o esforço médio exigido dos atuadores da planta.

	\begin{equation}
		\hat{u} = \frac{1}{N}\sum_{k=1}^{N}u(k)
	\end{equation}


\item A variância da saída de uma malha indica quanto esta variável dispersa do seu valor médio. Como queremos que a saída de uma malha convirja para valor dado pela referência, pode-se concluir que o valor da variância de determinado sinal deve ser o menor possível.

\begin{equation}
	S\alpha_{y(t)}^2 = \frac{1}{n-1}\sum_{k=1}^{n}[y(k) - \hat{y}]^2
\end{equation}

\item A variância do Sinal de controle permite avaliar o esforço do controle sobre os atuadores. Para uma maior vida útil do elemento atuador, a princípio este valor deve ser o menor possível.

\begin{equation}
	S\alpha_{u(t)}^2 = \frac{1}{n-1}\sum_{k=1}^{n}[u(k) - \hat{u}]^2
\end{equation}

\end{enumerate}



Os índices apresentados ate agora são bastante úteis tanto para avaliar um comportamento global da malha, baseados nos erros transitórios e de regime, quanto para analisar a influência de um determinado sinal nos demais componentes da malha. Podemos perceber por exemplo, que uma grande variância do sinal de controle representa uma ação de controle muito agressiva que pode tanto comprometer a vida útil de um atuador como faze-lo não responder como o esperado.

\subsection{Exemplo de Aplicação}

A tabela \ref{tab:indic_var} a seguir mostra o resultado dos índices das malhas apresentadas na sessão \ref{sec:appIE}. Para este caso, usamos um período de simulação de 12.5s que é o dobro do período do sinal de saída quando a planta está marginalmente estável(com controlador proporcional unitário).

\begin{table}[htb]
	\centering
	\begin{tabular}{|c|c|c|c|}
		\hline
		&\textbf{Ganho unitário} & \textbf{PID 1} & \textbf{PID 2}\\
		\hline
		\multirow{2}{*}{$\hat{y}$} & \multirow{2}{*}{1.004} & \multirow{2}{*}{1} & \multirow{2}{*}{1}\\
		& & &\\
		\hline
		\multirow{2}{*}{$\hat{u}$} & \multirow{2}{*}{-0.004} & \multirow{2}{*}{0} & \multirow{2}{*}{0}\\
		& & &\\
		\hline
		\multirow{2}{*}{$S\alpha_{y(t)}^2$} & \multirow{2}{*}{0.5053} & \multirow{2}{*}{0.0748} & \multirow{2}{*}{0.0274}\\
		& & &\\
		\hline
		\multirow{2}{*}{$S\alpha_{u(t)}^2$} & \multirow{2}{*}{0.5053} & \multirow{2}{*}{0.0302} & \multirow{2}{*}{2.0134}\\
		& & &\\
		\hline


	\end{tabular}
	\caption{Índices baseados na variância calculados para a Planta}
	\label{tab:indic_var}
\end{table}

\Glossary{SC}{Sinal de Controle}

Os valores das médias dos sinais e suas altas variâncias na primeira malha(ganho unitário) indicam a oscilação do sistema em torno da referência. Já analisando os resultados da segunda com a terceira malha, vemos que apesar da segunda malha ter uma resposta mais rápida(variância da saída menor), a sua ação de controle é muito agressiva (variância do sinal de controle é bem menor), podendo causar esforços ou saturações indesejáveis nos atuadores. A figura \ref{fig:sc} mostra o sinal de controle dos PIDs.


\begin{figure}[H]
\begin{minipage}{5.8cm}
\begin{tabular}{c}
\includegraphics[height=4.8cm]{imgs/rev/sc1} \\
(a)
\end{tabular}
\end{minipage}
%\hfill
\begin{minipage}{4.8cm}
\begin{tabular}{c}
\includegraphics[height=4.8cm]{imgs/rev/sc2}\\
(b)
\end{tabular}
\end{minipage}
\caption{Sinal de controle do PID1(a) e do  PID2(b)}
\label{fig:sc}
\end{figure} 

      Os índices apresentados são úteis para avaliar o comportamento de uma
malha de controle sujeito a variações diversas


\subsection{Conclusões}
Foram apresentados nesta sessão os índices de desempenho que serão utilizados para caracterizar as malhas de controle sujeitas a variações diversas no ambiente desenvolvido, fazendo-se assim um processo de auditoria sobre elas. Espera-se que tanto os índices baseados no erro quanto os baseados na variância de um sinal da planta tenham seus valores minimizados para um bom comportamento das malhas. Porém, notamos que um pequeno valor de um indice não representa necessariamente um bom comportamento geral da planta. Estes índices devem ser analizados com uma visão crítica e, para isto, a experiência do operador e o seu conhecimento da planta a ser controlada é um ponto essencial.



\section{Uma rápida visão sobre OPC}

\Glossary{OLE}{\it{Object Linking and Embedding}}

O emprego de redes digitais para automação industrial tem crescido rapidamente nas mais variadas plantas industriais. Com a evolução das aplicações,os sistemas de automação ganharam uma complexidade nunca antes observada. Para agravar este cenário, diferentes fabricantes de instrumentos desenvolvem seus próprios protocolos de comunicação, gerando sub-redes heterogêneas  e dificultando a interoperabilidade dos dispositivos. Alem de ser praticamente impossível especificar todo o sistema de uma planta industrial empregando equipamentos de um único fabricante, isto traria uma dependência indesejável do fornecedor dos equipamentos.

Neste cenário surge o OPC, um sistema de comunicação industrial padronizado e aberto criado por um grupo de fabricante de equipamentos dedicado à promoção da integração de redes industriais heterogêneas. Este protocolo foi baseado nas tecnologias OLE, COM, e DCOM desenvolvidas pela \textit{Microsoft} para o sistema operacional \textit{Windows} e o seu objetivo primário é permitir a troca transparente de dados entre diversos tipos de aplicações, tanto gerenciais, passando pelos níveis de controle e supervisão até o chão de fábrica.

\Glossary{IHMs}{Interfaces Homem Máquinas}

A principal especificação OPC(e utilizada neste trabalho) é a \textit{OPC Data Access(DA)}. Este protocolo fornece a funcionalidade de transferência de dados de tempo real e contínua de CLPs, SDCDs e outros, para IHMs(Interfaces Homem Máquinas), sistemas supervisórios e similares e está atualmente na versão 3.00.

Toda comunicação entre o \textit{software} desenvolvido neste trabalho e o mundo externo é feita usando o protocolo OPC sobre o TCP/IP. Para maiores detalhes sobre o tema deve-se consultar \cite{opc} e \cite{opc2}.











 

